// 引入 axios
import axios from 'axios'
// 引入进度条
import nprogress from 'nprogress';
// 引入进度条样式
import "nprogress/nprogress.css";
// 引入 store
import store from '../store';

const req = axios.create({
  baseURL: '/api', // 设置默认配置;
  timeout: 5000, // 5秒还未响应则报错
})

// 请求拦截器 interceptors（拦截器）
req.interceptors.request.use((config) => {
  // 进度条开始 start
  nprogress.start()
  // config：axios的一些配置参数
  // 调用 vuex创库里面的数据 响应头必须是 userTempId 后台设计过的
  if(store.state.detail.uuid_token){
    config.headers.userTempId = store.state.detail.uuid_token
  }
  // 调用 vuex 里面 user 数据 把 token 赋值给响应头
  // if(store.state.user.token){
  //   config.headers.token = store.state.user.token
  // }
  if(localStorage.getItem('TOKEN')){
    config.headers.token = localStorage.getItem('TOKEN')
  }
  // console.log("这是store参数",store.state.detail.uuid_token)
  // 响应成功 返回 axios 配置
  return config;
}),(err) => {
  console.log('请求拦截：'+ err.message);
}

// 响应拦截器
req.interceptors.response.use((res) => {
  // 进度条结束
  nprogress.done()
  // 响应成功时 返回响应的数据
  return res.data
},(err) => {
  return '接口失败了'
})

export default req;